import storage from '@/utils/storage.js'

const menuKey = 'menu'
// 全部产品类型
const goodsTypeKey = 'goods-type'
const TypeIdKey = 'goods-type-id'
// 产品品牌和购买渠道
const brandChannelKey = 'brand-channel'
// 装报修故障类型
const faultTypeKey = 'fault-type'
// 消费者可选上门时间
const consumerTimeKey = 'consumer-time'
// 消费者记录
const userLogKey = 'user-log'



/*******************本文件与PC不一样，不能删除 *********************/

/****************************************产品类型***********************************/
/**
 * @example 获取产品类型
 * @constant {string} 产品类型的键
 * @returns {Array} 产品类型
 */
export function getType() {
	const res = storage.get(goodsTypeKey)
	// console.log('getType-storage',res)
	// console.log('getType-getStorageSync',uni.getStorageSync(TypeKey))
	return Array.isArray(res) ? res : []
}
/**
 * @example 设置产品类型
 * @param {Array} type 产品类型
 */
export function setType(type) {
	return uni.setStorageSync(goodsTypeKey, type)
}
/**
 * @example 删除产品类型
 * @example 删除产品类型
 */
export function removeType() {
	return uni.removeStorageSync(goodsTypeKey)
}

/**
 * @example 获取产品类型ID
 * @constant {string} 产品类型的键
 * @returns {String} 产品类型ID
 */
export function getTypeId() {
	const res = uni.getStorageSync(TypeIdKey)
	return res
}
/**
 * @example 设置产品类型
 * @param {String} typeId 产品类型ID
 * @returns {String} 产品类型ID
 */
export function setTypeId(typeId) {
	return uni.setStorageSync(TypeIdKey, typeId)
}

/*********************************产品品牌和购买渠道***********************************/
/**
 * @example 获取品版或购买渠道
 * @constant {string} 品版或购买渠道的键
 * @returns {Array} 品版或购买渠道
 */
export function getBrandChannel() {
	const res = uni.getStorageSync(brandChannelKey)
	return Array.isArray(res) ? res : []
}
/**
 * @example 设置品版或购买渠道
 * @param {Array} brandChannel 品版或购买渠道
 */
export function setBrandChannel(brandChannel) {
	// 存入缓存，过期时间为10天(秒)
	uni.setStorageSync(brandChannelKey, brandChannel)
	return brandChannel
}
/**
 * @example 删除品版或购买渠道
 * @example 删除不存在的键名不会报错，也无返回
 */
export function removeBrandChannel() {
	return uni.removeStorageSync(brandChannelKey)
}

/********************************装报修故障类型***********************************/
/**
 * @example 获取装报修故障类型
 * @constant {string} 装报修故障类型的键
 * @returns {Array} 装报修故障类型
 */
export function getFaultType() {
	const res = uni.getStorageSync(faultTypeKey)
	return Array.isArray(res) ? res : []
}
/**
 * @example 设置装报修故障类型
 * @param {Object} faultType 装报修故障类型
 */
export function setFaultType(faultType) {
	// 存入缓存，过期时间为10天(秒)
	uni.setStorageSync(faultTypeKey, faultType)
	return faultType
}
/**
 * @example 删除装报修故障类型
 * @example 删除不存在的键名不会报错，也无返回
 */
export function removeFaultType() {
	return uni.removeStorageSync(faultTypeKey)
}

/********************************消费者可选上门时间***********************************/
/**
 * @example 获取消费者可选上门时间类型
 * @constant {string} 消费者可选上门时间的键
 * @returns {Array} 消费者可选上门时间
 */
export function getConsumerTime() {
	const res = uni.getStorageSync(consumerTimeKey)
	return Array.isArray(res) ? res : []
}
/**
 * @example 设置消费者可选上门时间
 * @param {Object} consumerTime 消费者可选上门时间
 */
export function setConsumerTime(consumerTime) {
	// 存入缓存，过期时间为10天(秒)
	uni.setStorageSync(consumerTimeKey, consumerTime)
	return consumerTime
}
/**
 * @example 删除消费者可选上门时间
 * @example 删除不存在的键名不会报错，也无返回
 */
export function removeConsumerTime() {
	return uni.removeStorageSync(consumerTimeKey)
}


/****************************************用户报装报修记录***********************************/

/**
 * @example 获取用户报装报修记录
 * @returns {Object} 报装报修记录
 */
export function getUserLog() {
	return uni.getStorageSync(userLogKey)
}
/**
 * @example 设置用户报装报修记录
 * @param {Object} log 用户报装报修记录
 * @returns {Object} 用户报装报修记录
 */
export function setUserLog(log) {
	 uni.setStorageSync(userLogKey, log)
	 return log
}
/**
 * @example 删除用户报装报修记录
 */
export function removeUserLog() {
	return uni.removeStorageSync(userLogKey)
}
